package com.tfjybj.itoo.exam.provider.service;

import com.dmsdbj.itoo.tool.base.service.BaseServicePlus;
import com.github.pagehelper.PageInfo;
import com.tfjybj.itoo.exam.entity.TemplateDetailsEntity;
import com.tfjybj.itoo.exam.model.QuestionTypeClassifyModel;
import com.tfjybj.itoo.exam.model.TemplateDetailsModel;

import java.util.List;


/**
 * TemplateDetailsService接口
 * templateDetails表
 *
 * @author 任晓帅
 * @version 2.0.0
 * @since 2.0.0 2018-11-15 19:40:28
 */
public interface TemplateDetailsService extends BaseServicePlus<TemplateDetailsEntity> {
	
	//region 模板生成：模糊查询
	/**
     * 根据模板id模糊查询templateDetails
     *
     * @param templateId  模板id
     * @param pageNo   页码
     * @param pageSize 页数
     * @return 模糊查询的templateDetails
     * @author 任晓帅
     * @since 2.0.0 2018-11-15 19:40:28
     */
    PageInfo<TemplateDetailsEntity> queryByLikeTemplateId(String templateId, Integer pageNo, Integer pageSize);

    //endregion

    /* **********************************以下为非模板生成的内容********************************* */

    /**
     * 根据templateId查询集合
     *@author 邓立瑶
     * @param templateId
     * @return
     */
    List<TemplateDetailsModel> selectTempDetails(String templateId);

    /**
     * 添加 模板详情
     * @author 杨海云
     * @param templateDetailsEntity
     * @return
     */

    int installTemp(TemplateDetailsEntity templateDetailsEntity);


    /**
     * 根据题型id和课程id查询改课程下包含该类题型的试题分类-杨晓慧--2018年12月11日19:07:14
     * @param questionTypeId 题型id（单选题，多选题的id）
     * @param courseId 课程id
     * @return 该课程下所有包含该题型的试题分类（所在章节，自定义章节等）
     */
    List<QuestionTypeClassifyModel> getQuestionClassify(String questionTypeId, String courseId, String operator);

    List<String> getByTemplateId(String id);

    boolean installRandomQuestions(TemplateDetailsEntity templateDetailsEntity);

}
